#include <iostream>
using namespace std;

int main()
{
    // [n]：按值捕获（拷贝），但 lambda 的调用运算符默认带 const
    int n{3};
    // mutable 修饰的 Lambda 表达式，生成匿名类时不会为 operator() 添加 const 修饰
    auto fn = [n]() mutable -> void
    {
        // 此处修改lambda函内副本，不会影响原始值
        n++;
        cout << n << endl;
    };
    cout << n << endl;
    return 0;
}
